This invention relates generally to networks and network management and, more particularly, to detecting configuration changes to network elements.
A network connects together network physical devices, such as routers, bridges, gateways and servers. Each network device may have identifiable physical components, such as central processing units (CPU), disks, partitions of disks, circuits, and interfaces. The network devices can communicate through the network. Through the network devices, the physical components of different network devices can also communicate.
To setup and sustain network communications, it is often useful and necessary to monitor various types of information about the network devices and components. For example, to communicate with a particular network device, one usually needs the destination address of the network device. Similarly, to use all functionalities of a device, one often needs to know the functional type of the network device. Finally, to monitor a network device for operation statistics, one needs the location of those statistics in the device. Useful information on network devices and components include statistical operations data and identification data such as names, network addresses, locations, and functional types.
Henceforth, we will refer to all useful or necessary information for managing or communicating with a network device or component as the associated configuration data.
A variety of physical events can change the configuration data of a network device or component. One such physical event is a reboot of a device. A reboot can change the locations, in a local data base of the device, which store the configuration data for components of the device. Another such event is the removal or addition of an interface card. The removal or addition of an interface card can shift the location, in the local data base of the device, of configuration data for other interface cards. Another such event is the replacement of a device with a new device. The new device will generally have a different hardware identifier, which is a type of configuration data. Finally, a software update may change the configuration data of a device and its included components. Each of the above events change configuration data stored locally in a data base of a network device.
Though not all physical events change configuration data, events causing changes to configuration data may occur on a daily or more frequent basis. A network manager needs up-to-date configuration data from a network device. Using incorrect configuration will cause the manager to retrieve incorrect performance data and statistics on the network.
Henceforth, functional elements, for which a user or network manager desires to know the configuration data, are referred to as network elements. A network element is associated, at any one time, with a particular set of configuration data.
Keeping an up-to-date record of the configuration data of a network element may require correlating data on different network devices and/or components. As an example, consider the effect of replacing a router, which forms a logical link, by a new router. To continue monitoring the logical link, a network manager will need a translation between the record of the configuration data, which he has for the original router, and the configuration data of the new router. Keeping an up-to-date record of the configuration data of network elements becomes difficult as the number of events, which change configuration data, grow.
In a first aspect, the invention provides a method of merging lists of newly found and old network elements. The method comprises receiving the list of newly found elements and associated configuration data, deriving a potential key value for a portion of the newly found elements from a portion of the configuration data and a key format, and determining whether each newly found element with a potential key value is keyed or unkeyed. A particular newly found element is unkeyed if two of the newly found elements have the same potential key value. One of the old elements is updated with the configuration data of a specific newly found keyed element if the specific newly found and the one of the old elements have the same key.
Some preferred embodiments determine that one of the newly found elements is unkeyed if the potential key value associated therewith is a potential key value of at least two of the old elements.
In a second aspect, the invention provides a method of updating a list of old network elements with newly found network elements. The method includes steps for: receiving a list of newly found elements, and updating one of the old elements with configuration data of one of the newly found elements. The step of updating is performed in response to a proper subset of the attributes of the one of the old elements matching attributes of the one of the newly found elements. The proper subset comprises at least two attributes.
In some preferred embodiments, the attributes of an element are derived from the associated configuration data. In these embodiments, only one of a device""s attributes are changed by special events, which change a network device without creating or destroying a network element.
In a third aspect, the invention provides method of reporting updates of old network elements and new network elements. The method comprises receiving a list of newly found elements for components, comparing a plurality of attributes of a portion of the newly found elements with attributes of old network elements for attribute matches. The method includes reporting one of the matches by listing a pair of matching elements as unresolved in response to one element of the pair not having a unique key.
In some preferred embodiments, the method includes steps of reporting a particular newly found element as an unresolved new element if the step of comparing found no attribute matches for the particular newly found element.
In a fourth aspect, the invention provides a program storage device readable by a computer. The program storage device tangibly embodies a program of instructions executable by the computer to perform one or more of above-described methods. In various preferred embodiments, the program storage device is a random access memory, e.g., SDRAM or DRAM memories, a magnetic disk or tape, or an optical disk.
The invention provides a more accurate method for identifying network devices and components with network elements. For example, in response to removing an interface card from a network device, some embodiments recognize that the port assignments of the remaining interfaces change. These embodiments associate the original elements with new configuration data and can help eliminate some incorrect associations with out-of-data configuration data.
The invention provides a method for recognizing some newly found network devices and components as old elements. For example, preferred embodiments identify some new devices as replacements of old devices. In response to identifying a replacement, these embodiments stop sending transmissions to the old device thereby eliminating useless transmissions to the non-existent old devices.